﻿/* 2012/11/8 */

namespace Cosmos.IO.FileSystemPath.Searcher
{
    /// <summary>
    /// Defines methods for path searchers.
    /// </summary>
    public interface IPathSearcher
    {
        /*/// <summary>
        /// Determines whether a path matches a pattern.
        /// </summary>
        /// <param name="path">The path to be checked.</param>
        /// <returns>A value indicating whether the path is matched.</returns>
        ///*/

        /// <summary>
        /// Searches paths of files and directories in current directory
        /// without any sub-directory.
        /// </summary>
        /// <param name="searchPattern">Search pattern to match paths.</param>
        /// <param name="directoryPath">Path of the directory to be searched.</param>
        /// <param name="containDirectory">A value indicating whether the result contains directories.</param>
        /// <param name="invertMatch">A value indicating whether to invert match condition.</param>
        /// <returns>Paths of search result.</returns>
        string[] Search(string searchPattern, string directoryPath,
            SearchFileDirectoryOption searchFileDirectoryOption, bool invertMatch);
    }
}
